Digital wireless communications systems that use direct sequence spread spectrum (DSSS) techniques transmit data over a larger amount of spectral bandwidth than is necessary. This is commonly referred to as spreading the data. Code Division Multiple Access is a commonly used DSSS technique wherein multiple data streams are encoded using orthogonal codes (for example, Walsh codes) so that the encoded data streams may be simultaneously transmitted without interfering with one another.
In CDMA digital wireless communications systems (including current generation and future generation (third generation (3G)) systems such as CDMA2000 and UMTS (Universal Mobile Telecommunications System)), a control channel referred to as a pilot channel is transmitted by each base station. Each base station transmits a pilot channel that is encoded with a Walsh code and then scrambled with a pseudo-random number (PN) scrambling code. With the Walsh codes being used to distinguish different channels from one base station, while the PN scrambling codes are used to distinguish different base stations.
At power-up, a mobile station needs to acquire synchronization with at least one base station's transmitted pseudo-random number sequence that is carried on a pilot channel. Synchronization (or system acquisition) is used for a variety of purposes, including cell selection, finger assignment and maintenance, channel profile estimation, location identification, and so forth. Synchronization may be a time consuming process wherein a searcher unit in the mobile station performs a series of correlations between signals that it receives and a known copy of the pseudo-random number sequence. A good correlation results in a relatively high correlation value, but that is only the beginning of the synchronization process. Signal multipath may serve to complicate the process.
After correlation results are produced, a significant amount of post processing of the correlation results may be needed to facilitate quick and efficient synchronization. Examples of post processing may include: combination of multipath signals, computation of correlation peaks, computation of signal strength, and so forth.
Previous solutions for acquiring synchronization have involved the use of a hardware searcher (correlator) and software routines to perform needed post processing for set maintenance, finger management, miscellaneous calculations, and so on. The software routines would execute on a digital signal processor (DSP) or some form of general purpose processing element located in the mobile station while the hardware searcher would provide correlation results.
One disadvantage of the prior art is that by implementing the post processing routines in software, a significant amount of processing burden is placed on the processing element (a DSP or some form of general purpose processor) in the mobile station. This processing burden may degrade the mobile station's overall performance by slowing down activities that are handled by the processing element.
A second disadvantage of the prior art is that if the searcher has a throughput that exceeds the throughput of the DSP for post processing of the correlation results, the searcher must either stall and wait for the DSP to catch up or write its correlation results to memory before it may continue its search. This has a result of degrading the synchronization performance.
A third disadvantage of the prior art is that in order to provide sufficient computational power, a sufficiently powered DSP or processing element needs to be used. In general, more powerful DSPs and processing elements are more expensive and consume more power. Therefore, the enhanced DSPs and processing elements result in a mobile station that is more expensive and has shorter battery life (or requires more expensive batteries with larger capacity).